-
Notifications
You must be signed in to change notification settings - Fork 29
Populate correct meta information in load_file, deprecate taking file objects #310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
78682e2
to
509295d
Compare
closing and opening again to check if that triggers CI |
421636d
to
d23279d
Compare
74b8360
to
3037db5
Compare
python/k4FWCore/utils.py
Outdated
warnings.warn( | ||
"load_file will remove support for handling TextIOWrapper. Please switch to pasing os.PathLike", | ||
FutureWarning, | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure this is used anywhere. It might be possible to remove this entirely and clean the implementation up a bit more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have removed this now and the function now only takes file names to be loaded
3037db5
to
0d371f9
Compare
Only possible if we still have access to the path. If we don't inject this than files that use __file__ will always show up as coming from utils.py >>> print(__file__) >>> <k4fwcore-prefix>/python/k4FWCore/utils.py
Deprecate handling a filehandle
0d371f9
to
eb5edbd
Compare
Unused outside of k4run
BEGINRELEASENOTES
load_file
sets the correct__file__
and__spec__
information for files that are loaded with itload_file
and always pass a path-like objectENDRELEASENOTES
Setting the correct
__file__
is necessary as that is quite frequently used for some special casing, or also to add things tosys.path
relative to the path of the loaded file, e.g. herePutting out the correct file name was lost in #213
Finally it looks like a simple change in
k4run
makes it trivial to pass in path-like objects rather than open file handles (which we didn't bother to close before).